package com.hl.sfzy.entity;

import java.math.BigDecimal;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 课程表
 * @TableName course
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Course {
    /**
     * 课程编号
     */
    private Integer courseId;

    /**
     * 课程名称
     */
    private String courseName;

    /**
     * 列表图
     */
    private String courseTabularChart;

    /**
     * 课程时长
     */
    private String courseTime;

    /**
     * 课件数量
     */
    private String courseMount;

    /**
     * 课程简介
     */
    private String courseIntroduce;

    /**
     * 适用人群
     */
    private String courseApplicablePopulation;

    /**
     * 课程分类
     */
    private Integer courseTypeId;

    /**
     * 学习收获
     */
    private String courseLearnHarvest;

    /**
     * 订阅须知
     */
    private String courseSubNotice;

    /**
     * 收藏量
     */
    private Integer courseCollects;

    /**
     * 咨询师编号
     */
    private Integer consultantId;

    /**
     * 课程视频
     */
    private String courseVideo;

    /**
     * 评价数量
     */
    private Integer coursePjCount;

    /**
     * 原始价格
     */
    private BigDecimal courseOriginalPrice;

    /**
     * 折扣价格
     */
    private BigDecimal courseDisPrice;

    /**
     * 学习次数
     */
    private Integer courseLearnCount;
    //咨询师信息
    private Consultants consultants;

    /**
     * 课程编号
     */
    public Integer getCourseId() {
        return courseId;
    }

    /**
     * 课程编号
     */
    public void setCourseId(Integer courseId) {
        this.courseId = courseId;
    }

    /**
     * 课程名称
     */
    public String getCourseName() {
        return courseName;
    }

    /**
     * 课程名称
     */
    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    /**
     * 列表图
     */
    public String getCourseTabularChart() {
        return courseTabularChart;
    }

    /**
     * 列表图
     */
    public void setCourseTabularChart(String courseTabularChart) {
        this.courseTabularChart = courseTabularChart;
    }

    /**
     * 课程时长
     */
    public String getCourseTime() {
        return courseTime;
    }

    /**
     * 课程时长
     */
    public void setCourseTime(String courseTime) {
        this.courseTime = courseTime;
    }

    /**
     * 课件数量
     */
    public String getCourseMount() {
        return courseMount;
    }

    /**
     * 课件数量
     */
    public void setCourseMount(String courseMount) {
        this.courseMount = courseMount;
    }

    /**
     * 课程简介
     */
    public String getCourseIntroduce() {
        return courseIntroduce;
    }

    /**
     * 课程简介
     */
    public void setCourseIntroduce(String courseIntroduce) {
        this.courseIntroduce = courseIntroduce;
    }

    /**
     * 适用人群
     */
    public String getCourseApplicablePopulation() {
        return courseApplicablePopulation;
    }

    /**
     * 适用人群
     */
    public void setCourseApplicablePopulation(String courseApplicablePopulation) {
        this.courseApplicablePopulation = courseApplicablePopulation;
    }

    /**
     * 课程分类
     */
    public Integer getCourseTypeId() {
        return courseTypeId;
    }

    /**
     * 课程分类
     */
    public void setCourseTypeId(Integer courseTypeId) {
        this.courseTypeId = courseTypeId;
    }

    /**
     * 学习收获
     */
    public String getCourseLearnHarvest() {
        return courseLearnHarvest;
    }

    /**
     * 学习收获
     */
    public void setCourseLearnHarvest(String courseLearnHarvest) {
        this.courseLearnHarvest = courseLearnHarvest;
    }

    /**
     * 订阅须知
     */
    public String getCourseSubNotice() {
        return courseSubNotice;
    }

    /**
     * 订阅须知
     */
    public void setCourseSubNotice(String courseSubNotice) {
        this.courseSubNotice = courseSubNotice;
    }

    /**
     * 收藏量
     */
    public Integer getCourseCollects() {
        return courseCollects;
    }

    /**
     * 收藏量
     */
    public void setCourseCollects(Integer courseCollects) {
        this.courseCollects = courseCollects;
    }

    /**
     * 咨询师编号
     */
    public Integer getConsultantId() {
        return consultantId;
    }

    /**
     * 咨询师编号
     */
    public void setConsultantId(Integer consultantId) {
        this.consultantId = consultantId;
    }

    /**
     * 课程视频
     */
    public String getCourseVideo() {
        return courseVideo;
    }

    /**
     * 课程视频
     */
    public void setCourseVideo(String courseVideo) {
        this.courseVideo = courseVideo;
    }

    /**
     * 评价数量
     */
    public Integer getCoursePjCount() {
        return coursePjCount;
    }

    /**
     * 评价数量
     */
    public void setCoursePjCount(Integer coursePjCount) {
        this.coursePjCount = coursePjCount;
    }

    /**
     * 原始价格
     */
    public BigDecimal getCourseOriginalPrice() {
        return courseOriginalPrice;
    }

    /**
     * 原始价格
     */
    public void setCourseOriginalPrice(BigDecimal courseOriginalPrice) {
        this.courseOriginalPrice = courseOriginalPrice;
    }

    /**
     * 折扣价格
     */
    public BigDecimal getCourseDisPrice() {
        return courseDisPrice;
    }

    /**
     * 折扣价格
     */
    public void setCourseDisPrice(BigDecimal courseDisPrice) {
        this.courseDisPrice = courseDisPrice;
    }

    /**
     * 学习次数
     */
    public Integer getCourseLearnCount() {
        return courseLearnCount;
    }

    /**
     * 学习次数
     */
    public void setCourseLearnCount(Integer courseLearnCount) {
        this.courseLearnCount = courseLearnCount;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        Course other = (Course) that;
        return (this.getCourseId() == null ? other.getCourseId() == null : this.getCourseId().equals(other.getCourseId()))
            && (this.getCourseName() == null ? other.getCourseName() == null : this.getCourseName().equals(other.getCourseName()))
            && (this.getCourseTabularChart() == null ? other.getCourseTabularChart() == null : this.getCourseTabularChart().equals(other.getCourseTabularChart()))
            && (this.getCourseTime() == null ? other.getCourseTime() == null : this.getCourseTime().equals(other.getCourseTime()))
            && (this.getCourseMount() == null ? other.getCourseMount() == null : this.getCourseMount().equals(other.getCourseMount()))
            && (this.getCourseIntroduce() == null ? other.getCourseIntroduce() == null : this.getCourseIntroduce().equals(other.getCourseIntroduce()))
            && (this.getCourseApplicablePopulation() == null ? other.getCourseApplicablePopulation() == null : this.getCourseApplicablePopulation().equals(other.getCourseApplicablePopulation()))
            && (this.getCourseTypeId() == null ? other.getCourseTypeId() == null : this.getCourseTypeId().equals(other.getCourseTypeId()))
            && (this.getCourseLearnHarvest() == null ? other.getCourseLearnHarvest() == null : this.getCourseLearnHarvest().equals(other.getCourseLearnHarvest()))
            && (this.getCourseSubNotice() == null ? other.getCourseSubNotice() == null : this.getCourseSubNotice().equals(other.getCourseSubNotice()))
            && (this.getCourseCollects() == null ? other.getCourseCollects() == null : this.getCourseCollects().equals(other.getCourseCollects()))
            && (this.getConsultantId() == null ? other.getConsultantId() == null : this.getConsultantId().equals(other.getConsultantId()))
            && (this.getCourseVideo() == null ? other.getCourseVideo() == null : this.getCourseVideo().equals(other.getCourseVideo()))
            && (this.getCoursePjCount() == null ? other.getCoursePjCount() == null : this.getCoursePjCount().equals(other.getCoursePjCount()))
            && (this.getCourseOriginalPrice() == null ? other.getCourseOriginalPrice() == null : this.getCourseOriginalPrice().equals(other.getCourseOriginalPrice()))
            && (this.getCourseDisPrice() == null ? other.getCourseDisPrice() == null : this.getCourseDisPrice().equals(other.getCourseDisPrice()))
            && (this.getCourseLearnCount() == null ? other.getCourseLearnCount() == null : this.getCourseLearnCount().equals(other.getCourseLearnCount()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getCourseId() == null) ? 0 : getCourseId().hashCode());
        result = prime * result + ((getCourseName() == null) ? 0 : getCourseName().hashCode());
        result = prime * result + ((getCourseTabularChart() == null) ? 0 : getCourseTabularChart().hashCode());
        result = prime * result + ((getCourseTime() == null) ? 0 : getCourseTime().hashCode());
        result = prime * result + ((getCourseMount() == null) ? 0 : getCourseMount().hashCode());
        result = prime * result + ((getCourseIntroduce() == null) ? 0 : getCourseIntroduce().hashCode());
        result = prime * result + ((getCourseApplicablePopulation() == null) ? 0 : getCourseApplicablePopulation().hashCode());
        result = prime * result + ((getCourseTypeId() == null) ? 0 : getCourseTypeId().hashCode());
        result = prime * result + ((getCourseLearnHarvest() == null) ? 0 : getCourseLearnHarvest().hashCode());
        result = prime * result + ((getCourseSubNotice() == null) ? 0 : getCourseSubNotice().hashCode());
        result = prime * result + ((getCourseCollects() == null) ? 0 : getCourseCollects().hashCode());
        result = prime * result + ((getConsultantId() == null) ? 0 : getConsultantId().hashCode());
        result = prime * result + ((getCourseVideo() == null) ? 0 : getCourseVideo().hashCode());
        result = prime * result + ((getCoursePjCount() == null) ? 0 : getCoursePjCount().hashCode());
        result = prime * result + ((getCourseOriginalPrice() == null) ? 0 : getCourseOriginalPrice().hashCode());
        result = prime * result + ((getCourseDisPrice() == null) ? 0 : getCourseDisPrice().hashCode());
        result = prime * result + ((getCourseLearnCount() == null) ? 0 : getCourseLearnCount().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", courseId=").append(courseId);
        sb.append(", courseName=").append(courseName);
        sb.append(", courseTabularChart=").append(courseTabularChart);
        sb.append(", courseTime=").append(courseTime);
        sb.append(", courseMount=").append(courseMount);
        sb.append(", courseIntroduce=").append(courseIntroduce);
        sb.append(", courseApplicablePopulation=").append(courseApplicablePopulation);
        sb.append(", courseTypeId=").append(courseTypeId);
        sb.append(", courseLearnHarvest=").append(courseLearnHarvest);
        sb.append(", courseSubNotice=").append(courseSubNotice);
        sb.append(", courseCollects=").append(courseCollects);
        sb.append(", consultantId=").append(consultantId);
        sb.append(", courseVideo=").append(courseVideo);
        sb.append(", coursePjCount=").append(coursePjCount);
        sb.append(", courseOriginalPrice=").append(courseOriginalPrice);
        sb.append(", courseDisPrice=").append(courseDisPrice);
        sb.append(", courseLearnCount=").append(courseLearnCount);
        sb.append("]");
        return sb.toString();
    }
}